package com.lx.input.overview;

import org.springframework.batch.item.ItemReader;
import org.springframework.batch.item.NonTransientResourceException;
import org.springframework.batch.item.ParseException;
import org.springframework.batch.item.UnexpectedInputException;

import java.util.Iterator;
import java.util.List;

/**
 * 1.ItemReader:提供数据的接口
 * 2.在这个接口中只有一个方法read(),它读取一个数据并且移动到下一个数据上去，
 * 在读取结束时必须返回一个null,否则表明数据没有读取完毕;
 * @author lixing
 * @date 2021/7/12 16:59
 */
public class InputOverVierDemoItemReader implements ItemReader<String> {
    private final Iterator<String> iterator;

    public InputOverVierDemoItemReader(List<String> data) {
        this.iterator = data.iterator();
    }

    @Override
    public String read() throws Exception, UnexpectedInputException, ParseException, NonTransientResourceException {
        if (iterator.hasNext()) {
            return this.iterator.next();
        } else {
            return null;
        }
    }

}